VIM中的特殊字符 您所在的位置:网站首页 vi 查看隐藏字符 VIM中的特殊字符

VIM中的特殊字符

2023-04-25 13:25| 来源: 网络整理| 查看: 265

0.简介

在linux中vim查看一个windows下的文本文件, 经常在行尾有一个 ^M.

这其实是windows/linux/mac系统中文本换行不一致的原因导致的,

系统类别 文本换行符 转义字符 Windows CRLF \r\n Linux LF \n Mac CR \r

 具体可查看 windows和linux换行规则的区别 .

这里需要介绍的是 ^M 类的符号是什么意思.

 

1. vim的脱字符表示法

ASCII 0-31 部分的所有字符都是控制字符,不是可显示字符。为了在vim中显示出这些字符,将这些字符的编码加上 64 之后对应的全部为可打印字符,于是将 0-31 位置的字符,

用 ^ 跟转换之后对应的那个字符绑在一起当作一个字符显示出来,既简洁又实用,——是为“脱字符表示法”。

如:0x00 对应 ^@ (0+64),0x0D(回车)对应 ^M (13+64)等等

详细的列表可以通过在vim中 :help digraph-table 命令查看,具体如下(只列出了前33个)

char digraph hex dec official name ~ ^@ NU 0x00 0 NULL (NUL) ^A SH 0x01 1 START OF HEADING (SOH) ^B SX 0x02 2 START OF TEXT (STX) ^C EX 0x03 3 END OF TEXT (ETX) ^D ET 0x04 4 END OF TRANSMISSION (EOT) ^E EQ 0x05 5 ENQUIRY (ENQ) ^F AK 0x06 6 ACKNOWLEDGE (ACK) ^G BL 0x07 7 BELL (BEL) ^H BS 0x08 8 BACKSPACE (BS) ^I HT 0x09 9 CHARACTER TABULATION (HT) ^@ LF 0x0a 10 LINE FEED (LF) ^K VT 0x0b 11 LINE TABULATION (VT) ^L FF 0x0c 12 FORM FEED (FF) ^M CR 0x0d 13 CARRIAGE RETURN (CR) ^N SO 0x0e 14 SHIFT OUT (SO) ^O SI 0x0f 15 SHIFT IN (SI) ^P DL 0x10 16 DATALINK ESCAPE (DLE) ^Q D1 0x11 17 DEVICE CONTROL ONE (DC1) ^R D2 0x12 18 DEVICE CONTROL TWO (DC2) ^S D3 0x13 19 DEVICE CONTROL THREE (DC3) ^T D4 0x14 20 DEVICE CONTROL FOUR (DC4) ^U NK 0x15 21 NEGATIVE ACKNOWLEDGE (NAK) ^V SY 0x16 22 SYNCHRONOUS IDLE (SYN) ^W EB 0x17 23 END OF TRANSMISSION BLOCK (ETB) ^X CN 0x18 24 CANCEL (CAN) ^Y EM 0x19 25 END OF MEDIUM (EM) ^Z SB 0x1a 26 SUBSTITUTE (SUB) ^[ EC 0x1b 27 ESCAPE (ESC) ^\ FS 0x1c 28 FILE SEPARATOR (IS4) ^] GS 0x1d 29 GROUP SEPARATOR (IS3) ^^ RS 0x1e 30 RECORD SEPARATOR (IS2) ^_ US 0x1f 31 UNIT SEPARATOR (IS1) SP 0x20 32 SPACE................

 

2.文件转换命令

dos2unix

unix2dos

 

参考文献:

http://vimcdoc.sourceforge.net/doc/digraph.html

https://www.jb51.net/article/97768.htm

https://blog.csdn.net/lanchunhui/article/details/51660576

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有